\section{Method}
Our algorithm for shape comparison is largely based on the paper by \citet{sun}. In this paper \citeauthor{sun} propose a method for comparing different points on shapes using a heat kernel signature(HKS). They assert that "The HKS (...) characterizes the shape up to isometry." We implemented an extended version of their algoritm. In the paper, there was no method for comparison between complete models, but only between specific points on models. Sun et al. did however propose a way of extending their algorithm for this purpose in a powerpoint presentation accompanying the paper, from which we took relevant parts of the implementation.

Our algorithm starts with building a Laplacian matrix for every model based on the vertices and connections of this model. Using the Laplacian matrix over the method in the paper has the advantage of ignoring the scale of the model. The resulting feature vector of heat kernel signatures becomes invariant over the scale.

We then take the eigenvectors and eigenvalues of the Laplacian matrix as mentioned in \citet{sun} and use these to construct the heat kernel signature of each point to itself using the formula

\begin{displaymath} 
k_t(x,y)=\displaystyle\sum\limits_{i=0}^\infty e^{\lambda_i t} \phi_i(x)\phi_i(x)
\end{displaymath}

Where $k_t$ is the heat kernel value, $\lambda$$_i$ an eigenvalue and $\phi$$_i$ an eigenvector. We chose the maximum and minimum values for t using the logarithmic functions given in the paper. These functions use the eigenvalues as indicators of a good approximation of optimal values for tmin and tmax. 
\begin{displaymath} 
tmin=\frac{4 ln 10}{\lambda_{250}}
\end{displaymath}
\begin{displaymath}
tmax=\frac{4 ln 10}{\lambda_2}
\end{displaymath}
A remaining question then is how to use the HKS values for the different values of t and how to condense these into a single feature vector that can be used to compare different models. We opted to sum the values of the HKT function for a set of one hundred t's taken from tmin to tmax. These 100 values are then used in our feature vector. Feature vectors are compared using Euclidian distance as no reasonable improvements were found using, for example, Manhattan distance instead.
\clearpage 